home *** CD-ROM | disk | FTP | other *** search
/ Practical Internet 2002 February / Practical Internet February 2002.iso / pc / Software / Browsing / httrack-3.09e2.exe / {app} / src / htsglobal.h < prev    next >
Encoding:
C/C++ Source or Header  |  2001-11-07  |  6.8 KB  |  309 lines

  1. /* ------------------------------------------------------------ */
  2. /*
  3. HTTrack Website Copier, Offline Browser for Windows and Unix
  4. Copyright (C) Xavier Roche and other contributors
  5.  
  6. This program is free software; you can redistribute it and/or
  7. modify it under the terms of the GNU General Public License
  8. as published by the Free Software Foundation; either version 2
  9. of the License, or any later version.
  10.  
  11. This program is distributed in the hope that it will be useful,
  12. but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14. GNU General Public License for more details.
  15.  
  16. You should have received a copy of the GNU General Public License
  17. along with this program; if not, write to the Free Software
  18. Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  19.  
  20.  
  21. Important notes:
  22.  
  23. - We hereby ask people using this source NOT to use it in purpose of grabbing
  24. emails addresses, or collecting any other private information on persons.
  25. This would disgrace our work, and spoil the many hours we spent on it.
  26.  
  27.  
  28. Please visit our Website: http://www.httrack.com
  29. */
  30.  
  31.  
  32. /* ------------------------------------------------------------ */
  33. /* File: Global #define file                                    */
  34. /* Author: Xavier Roche                                         */
  35. /* ------------------------------------------------------------ */
  36.  
  37. // Fichier rΘunissant l'ensemble des defines
  38.  
  39. #ifndef HTTRACK_GLOBAL_DEFH
  40. #define HTTRACK_GLOBAL_DEFH
  41.  
  42. // Version
  43. #define HTTRACK_VERSION      "3.09e-beta"
  44. #define HTTRACK_VERSIONID    "3.09.05"
  45. #define HTTRACK_AFF_VERSION  "3.x"
  46. //#define HTTRACK_AFF_WARNING  "This is a RELEASE CANDIDATE version of WinHTTrack Website Copier 3.0\nPlease report us any bug or problem"
  47.  
  48.  
  49.  
  50. // DΘfinition plate-forme
  51. #include "htssystem.h"
  52. #include "htsconfig.h"
  53.  
  54. // Socket windows ou socket unix
  55. #if HTS_PLATFORM==1
  56. #define HTS_WIN 1
  57. #else
  58. #define HTS_WIN 0
  59. #endif
  60.  
  61. // compatibilitΘ DOS
  62. #if HTS_WIN
  63. #define HTS_DOSNAME 1
  64. #else
  65. #define HTS_DOSNAME 0
  66. #endif
  67.  
  68. // utiliser zlib?
  69. #if HTS_USEZLIB
  70. #else
  71. #ifdef _WINDOWS
  72. #define HTS_USEZLIB 1
  73. #endif
  74. #endif
  75.  
  76. #if HTS_WIN
  77. #else
  78. #define __cdecl
  79. #endif
  80.  
  81. /*
  82. #if HTS_XGETHOST
  83. #if HTS_PLATFORM==1
  84. #ifndef __cplusplus
  85. #undef HTS_XGMETHOD
  86. #undef HTS_XGETHOST
  87. #endif
  88. #endif
  89. #else
  90. #undef HTS_XGMETHOD
  91. #undef HTS_XGETHOST
  92. #endif
  93. */
  94.  
  95.  
  96. #if HTS_ANALYSTE
  97. #else
  98. #if HTS_WIN
  99. #else
  100. #undef HTS_ANALYSTE
  101. // Analyste
  102. #define HTS_ANALYSTE 1
  103. #define HTS_ANALYSTE_CONSOLE 1
  104. #endif
  105. #endif
  106.  
  107.  
  108. /* rc file */
  109. #if HTS_WIN
  110. #define HTS_HTTRACKRC "httrackrc"
  111. #else
  112.  
  113. #ifndef HTS_ETCPATH
  114. #define HTS_ETCPATH "/etc"
  115. #endif
  116. #ifndef HTS_BINPATH
  117. #define HTS_BINPATH "/usr/bin"
  118. #endif
  119. #ifndef HTS_LIBPATH
  120. #define HTS_LIBPATH "/usr/lib"
  121. #endif
  122. #ifndef HTS_PREFIX
  123. #define HTS_PREFIX "/usr"
  124. #endif
  125.  
  126. #define HTS_HTTRACKRC ".httrackrc"
  127. #define HTS_HTTRACKCNF HTS_ETCPATH"/httrack.conf"
  128. #define HTS_HTTRACKDIR HTS_PREFIX"/doc/httrack/"
  129.  
  130. #endif
  131.  
  132. /* Gestion des tables de hashage */
  133. #define HTS_HASH_SIZE 20147
  134. /* Taille max d'une URL */
  135. #define HTS_URLMAXSIZE 512
  136. /* Taille max ligne de commande (>=HTS_URLMAXSIZE*2) */
  137. #define HTS_CDLMAXSIZE 1024
  138. /* Copyright (C) Xavier Roche and other contributors */
  139. #define HTTRACK_AFF_AUTHORS "[XR&CO'2001]"
  140. #define HTS_DEFAULT_FOOTER "<!-- Mirrored from %s%s by HTTrack Website Copier/"HTTRACK_AFF_VERSION" "HTTRACK_AFF_AUTHORS", %s -->"
  141. #define HTS_UPDATE_WEBSITE "http://www.httrack.com/update.php3?Product=HTTrack&Version="HTTRACK_VERSIONID"&VersionStr="HTTRACK_VERSION"&Platform=%d&Language=%s"
  142.  
  143. #define H_CRLF "\x0d\x0a"
  144. #define CRLF   "\x0d\x0a"
  145. #if HTS_WIN
  146. #define LF "\x0d\x0a"
  147. #else
  148. #define LF "\x0a"
  149. #endif
  150.  
  151. /* Θquivaut α "paramΦtre vide", par exemple -F (none) */
  152. #define HTS_NOPARAM "(none)"
  153. #define HTS_NOPARAM2 "\"(none)\""
  154.  
  155. /* maximum et minimum */
  156. #define maximum(A,B) ( (A) > (B) ? (A) : (B) )
  157. #define minimum(A,B) ( (A) < (B) ? (A) : (B) )
  158.  
  159. /* chaine vide? */
  160. #define strnotempty(A) (((A)[0]!='\0') ? 1 : 0)
  161.  
  162. /* optimisation inline si possible */
  163. #ifdef __cplusplus
  164. #define HTS_INLINE inline
  165. #else
  166. #define HTS_INLINE
  167. #endif
  168.  
  169. #ifdef HTS_NO_64_BIT
  170. #define HTS_LONGLONG 0
  171. #else
  172. #define HTS_LONGLONG 1
  173. #endif
  174.  
  175. // long long int? (or int)
  176. // (and int cast for system functions like malloc() )
  177. #if HTS_LONGLONG
  178.  #if HTS_WIN
  179.   typedef __int64 LLint;
  180.   typedef __int64 TStamp;
  181.   typedef int INTsys;
  182.   #define LLintP "%I64d"
  183.  #else
  184.   typedef long long int LLint;
  185.   typedef long long int TStamp;
  186.   typedef int INTsys;
  187.   #define LLintP "%Ld"
  188.  #endif
  189. #else
  190.  typedef int LLint;
  191.  typedef int INTsys;
  192.  typedef double TStamp;
  193.  #define LLintP "%d"
  194. #endif
  195.  
  196. #if HTS_WIN
  197. #else
  198. #define __cdecl 
  199. #endif
  200.  
  201. /* mode pour mkdir ET chmod (accΦs aux fichiers) */
  202. #define HTS_PROTECT_FOLDER (S_IRUSR|S_IWUSR|S_IXUSR)
  203. #if HTS_ACCESS
  204. #define HTS_ACCESS_FILE (S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH)
  205. #define HTS_ACCESS_FOLDER (S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH)
  206. #else
  207. #define HTS_ACCESS_FILE (S_IRUSR|S_IWUSR)
  208. #define HTS_ACCESS_FOLDER (S_IRUSR|S_IWUSR|S_IXUSR)
  209. #endif
  210.  
  211. /* vΘrifier la dΘclaration des variables prΘprocesseur */
  212. #ifndef HTS_DOSNAME
  213. #error | HTS_DOSNAME Has not been defined.
  214. #error | Set it to 1 if you are under DOS, 0 under Unix.
  215. #error | Example: place this line in you source, before includes:
  216. #error | #define HTS_DOSNAME 0
  217. #error
  218. #error
  219. #endif
  220. #ifndef HTS_ACCESS
  221. /* Par dΘfaut, accΦs α tous les utilisateurs */
  222. #define HTS_ACCESS 1
  223. #endif
  224.  
  225. /* fflush sur stdout */
  226. #define io_flush { fflush(stdout); fflush(stdin); }
  227.  
  228.  
  229.  
  230. /* HTSLib */
  231.  
  232. // Cache DNS, accΘlΦre les rΘsolution d'adresses
  233. #define HTS_DNSCACHE 1
  234.  
  235. // ID d'une pseudo-socket locale pour les file://
  236. #define LOCAL_SOCKET_ID -500000
  237.  
  238. // taille de chaque buffer (10 sockets 650 ko)
  239. #define TAILLE_BUFFER 65535
  240.  
  241. #if HTS_WIN
  242. #else
  243. // use pthreads.h
  244. #ifdef HTS_DO_NOT_USE_PTHREAD
  245. #define USE_PTHREAD 0
  246. #else
  247. #define USE_PTHREAD 1
  248. #endif
  249. #endif
  250.  
  251. #if HTS_WIN
  252. #define USE_BEGINTHREAD 1
  253. #else
  254. #if USE_PTHREAD
  255. #define USE_BEGINTHREAD 1
  256. #else
  257. /* sh*t.. */
  258. #define USE_BEGINTHREAD 0
  259. #endif
  260. #endif
  261.  
  262. /* ------------------------------------------------------------ */
  263. /* Debugging                                                    */
  264. /* ------------------------------------------------------------ */
  265.  
  266. // dΘbuggage types
  267. #define DEBUG_SHOWTYPES 0
  268. // backing debug
  269. #define BDEBUG 0
  270. // chunk receive
  271. #define CHUNKDEBUG 0
  272. // realloc links debug
  273. #define MDEBUG 0
  274. // cache debug
  275. #define DEBUGCA 0
  276. // DNS debug
  277. #define DEBUGDNS 0
  278. // savename debug
  279. #define DEBUG_SAVENAME 0
  280. // debug robots
  281. #define DEBUG_ROBOTS 0
  282. // debug hash
  283. #define DEBUG_HASH 0
  284. // VΘrification d'intΘgritΘ
  285. #define DEBUG_CHECKINT 0
  286. // nbr sockets debug
  287. #define NSDEBUG 0
  288. // tracer mallocs
  289. #define HTS_TRACE_MALLOC 0
  290.  
  291. // dΘbuggage HTSLib
  292. #define HDEBUG 0
  293. // surveillance de la connexion
  294. #define CNXDEBUG 0
  295. // debuggage cookies
  296. #define DEBUG_COOK 0
  297. // dΘbuggage hard..
  298. #define HTS_WIDE_DEBUG 0
  299. // debuggage deletehttp et cie
  300. #define HTS_DEBUG_CLOSESOCK 0
  301. // debug tracage mΘmoire
  302. #define MEMDEBUG 0
  303.  
  304. // htsmain
  305. #define DEBUG_STEPS 0
  306.  
  307. #endif
  308.  
  309.